Traffic shaping is important in digital networks. Traffic shaping involves buffering traffic and sending traffic based upon a desired profile. A traffic profile can include, but is not limited to, the following properties: a level of priority relative to other traffic, buffer depth, latency through the buffer, jitter in sending the traffic contained in the buffer, and a rate at which the traffic should be sent. A common approach to traffic shaping involves the use of a queuing system to manage the profile. As traffic arrives, it is placed on the queue. The traffic is de-queued based upon its assigned drain rate.
In certain situations it may be necessary to restrict a group of queues to a predefined amount of overall bandwidth. Doing so creates burst groups, in which the member queues compete for a common resource (bandwidth), but do not affect others outside the group. This allows the network to be better managed, where physical network connections can be subdivided into virtual “pipes” or “connections”.
Problems with some prior devices include, for example, lack of scalability, sheer size and high gate-count cost per queue for decentralized shaping engines, expensive caching/arbitration mechanisms, and lack of ability to shape traffic with fine granularity across a broad spectrum of desired rates, or groups of rates.